using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using FiltronASP.Models.DAO.Interfaces;

namespace FiltronASP.Models.DAO.Extensions
{
    /// <summary>
    /// Klasa zawierajaca rozszerzenia metod zwiazanych z tabela menu.
    /// </summary>
    public static class MenuExtensions
    {
        /// <summary>
        /// Metoda do pobierania domyslnego menu (gdy nie jest przekazywana jako parametr).
        /// </summary>
        /// <param name="menuDAO">klasa odpowiedzialna za operacja na bazie danych, tabela menu</param>
        /// <param name="languageId">wersja jezykowa</param>
        /// <returns>domyslne id grupy stron</returns>
        public static Menu GetDefaultMenu(this IMenuDAO menuDAO, Language language)
        {
            if (language == null)
            {
                return null;
            }   //if
            if (menuDAO == null)
            {
                return null;
            }   //if null
            IQueryable<Menu> menus = menuDAO.FindByLanguageId(language.language_id);
            if (menus == null)
            {
                return null;
            }   //if null
            if (!menus.Any())
            {
                return null;
            }   //if null
            return menus.First();
        }

    }
}
